package org.lmd.platform.sys;

import com.baomidou.mybatisplus.service.IService;
import org.lmd.platform.entity.sys.UserEntity;
import org.lmd.platform.vo.PageUtils;

import java.util.List;
import java.util.Map;

public interface UserService extends IService<UserEntity>{

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 查询用户的所有菜单ID
     */
    List<Long> queryAllMenuId(Long userId);

    /**
     * 保存用户
     */
    void save(UserEntity user);

    /**
     * 修改用户
     */
    void update(UserEntity user);

    /**
     * 修改密码
     * @param userId       用户ID
     * @param password     原密码
     * @param newPassword  新密码
     */
    boolean updatePassword(Long userId, String password, String newPassword);
    void saveOrUpdate(Long userId, List<Long> roleIdList);

    /**
     * 根据用户ID，获取角色ID列表
     */
    List<Long> queryRoleIdList(Long userId);

    /**
     * 根据角色ID数组，批量删除
     */
    int deleteBatch(Long[] roleIds);
}
